*,*::before,*::after{box-sizing:border-box;border:0 solid #e5e7eb;margin:0;padding:0}html{line-height:1.5;color-scheme:dark;-webkit-text-size-adjust:100%;tab-size:4;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;scroll-padding-top:104px;overflow-x:hidden}body{overflow-x:hidden;min-height:100vh}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}p{line-height:normal}a{color:inherit;text-decoration:none}b,strong{font-weight:bolder}small{font-size:80%}ul,ol,menu{list-style:none;margin:0;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;margin:0}button{background:0;border:0;cursor:pointer}:disabled{cursor:default}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:var(--ps-tech-text-muted);opacity:1}::-webkit-scrollbar{width:9px}::-webkit-scrollbar-track{background:var(--ps-tech-background)}::-webkit-scrollbar-thumb{background:#333;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--ps-tech-accent)}::selection{background:var(--ps-tech-accent);color:var(--ps-tech-white)}:focus-visible{outline:2px dashed var(--ps-tech-accent);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important}html{scroll-behavior:auto}}:root:root:root{--builder-image-dim:none}.ps-mono{font-family:ui-monospace,"SF Mono",Consolas,"Courier New",monospace}.rv-hero{opacity:0;translate:0 24px;transition:opacity .8s cubic-bezier(.22,.61,.36,1) var(--d,0s),translate .8s cubic-bezier(.22,.61,.36,1) var(--d,0s)}html.loaded .rv-hero{opacity:1;translate:0}.reveal{opacity:0;translate:0 20px;filter:blur(3px);transition:opacity .8s cubic-bezier(.22,.61,.36,1) var(--d,0s),translate .8s cubic-bezier(.22,.61,.36,1) var(--d,0s),filter .8s cubic-bezier(.22,.61,.36,1) var(--d,0s)}.reveal.in{opacity:1;translate:0;filter:none}.hero-badge{--d:.05s}.hero-subtitle{--d:.3s}.hero-buttons{--d:.45s}.section-title{--d:.08s}.section-desc{--d:.16s}.team-grid{--d:.1s}.gallery-slider{--d:.1s}.services-grid{--d:.2s}.contact-row{--d:.1s}.map-embed{--d:.15s}.feature-list li:nth-child(1){--d:.05s}.feature-list li:nth-child(2){--d:.13s}.feature-list li:nth-child(3){--d:.21s}.feature-list li:nth-child(4){--d:.29s}.feature-list li.reveal{transition:transform .2s cubic-bezier(.4,0,.2,1)}.team-card.reveal{transition:transform .5s cubic-bezier(.22,1,.36,1),box-shadow .5s ease,border-color .5s ease}.service-card.reveal{transition:border-color .35s cubic-bezier(.4,0,.2,1),box-shadow .35s cubic-bezier(.4,0,.2,1)}a.contact-item.reveal{transition:border-color .35s cubic-bezier(.4,0,.2,1),transform .45s cubic-bezier(.34,1.56,.64,1),box-shadow .35s cubic-bezier(.4,0,.2,1)}.hero-title .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}.hero-title .w>i{display:inline-block;font-style:inherit;transform:translateY(112%);transition:transform .9s cubic-bezier(.19,1,.22,1) var(--d,0s)}html.loaded .hero-title .w>i{transform:none}.hero-title .accent{color:var(--ps-tech-accent);position:relative;display:inline-block}.hero-title .accent::after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:4px;background:var(--ps-tech-accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .8s cubic-bezier(.19,1,.22,1) 1.15s}html.loaded .hero-title .accent::after{transform:scaleX(.55)}.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at 30% 25%,rgba(230,57,70,.12) 0,transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(200,160,60,.08) 0,transparent 60%),radial-gradient(ellipse at 50% 80%,#1e1e1e 0,var(--ps-tech-background) 70%)}.hero-spot{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity .6s;background:radial-gradient(560px at var(--sx,50%) var(--sy,42%),rgba(230,57,70,.13),transparent 62%)}.hero:hover .hero-spot{opacity:1}.hero-art::before{content:"";position:absolute;inset:-14%;border-radius:50%;z-index:-1;background:radial-gradient(circle,rgba(230,57,70,.30),transparent 66%);opacity:.22;transition:opacity .7s ease,transform .9s cubic-bezier(.4,0,.2,1)}.hero:hover .hero-art::before{opacity:.9;transform:scale(1.12)}.hero:hover .hero-art img{opacity:1;transform:scale(1.05);filter:saturate(1.15) brightness(.92) drop-shadow(0 0 46px rgba(230,57,70,.45))}.hero-badge i{color:var(--ps-tech-gold);font-size:.72rem;filter:drop-shadow(0 0 8px rgba(201,168,76,.6))}.section-label::before{content:"";width:20px;height:2px;background:var(--ps-tech-accent);border-radius:1px}.section-label em{font-style:normal;color:var(--ps-tech-text-muted);font-family:ui-monospace,"SF Mono",Consolas,"Courier New",monospace;font-size:.66rem;margin-left:6px}.feature-list li i{color:var(--ps-tech-accent);font-size:1.05rem;margin-top:3px;flex-shrink:0}.feature-list strong{color:var(--ps-tech-white)}.fc-title::before{content:"";width:9px;height:9px;background:var(--ps-tech-accent);box-shadow:0 0 10px var(--ps-tech-accent-glow)}.nav a.n.active{color:var(--ps-tech-white)}.pill{position:relative;overflow:hidden;animation:ctaPulse 2.8s ease-in-out infinite}.pill::after{content:"";position:absolute;top:0;left:-85%;width:50%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);transition:left .6s ease}.pill:hover::after{left:135%}.pill:hover{animation-play-state:paused}@keyframes ctaPulse{0%,100%{box-shadow:0 4px 22px var(--ps-tech-accent-glow)}50%{box-shadow:0 6px 36px rgba(230,57,70,.55)}}@media(width < 1024px){.nav.open .nav-links{max-height:380px;opacity:1;pointer-events:auto;padding:12px}.nav a.n:hover{background:rgba(255,255,255,.05)}.nav a.n.active{background:rgba(230,57,70,.14)}.nav.open .nav-toggle{background:var(--ps-tech-accent);border-color:var(--ps-tech-accent);color:#fff}}#scrollbar-top i{background:linear-gradient(90deg,var(--ps-tech-accent),var(--ps-tech-gold))}#toTop svg.ring{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);transform:rotate(-90deg)}#toTop svg.ring circle{fill:none;stroke:var(--ps-tech-accent);stroke-width:2.5;stroke-dasharray:163;stroke-dashoffset:163}#toTop.show{opacity:1;pointer-events:auto;transform:none}#loader.done{transform:translateY(-101%)}#loader{animation:ldAutoHide .75s cubic-bezier(.76,0,.24,1) 3s both}@keyframes ldAutoHide{to{transform:translateY(-101%)}}.ld-logo{animation:ldFadeIn .45s ease both,ldTilt 1.9s ease-in-out .45s infinite}@keyframes ldFadeIn{from{opacity:0}}@keyframes ldTilt{0%,100%{transform:translate(-50%,-50%) rotate(0)}25%{transform:translate(-50%,-50%) rotate(-7deg)}75%{transform:translate(-50%,-50%) rotate(7deg)}}.ld-gauge svg{width:100%;height:100%;display:block;overflow:visible}.ld-gauge .g-track{fill:none;stroke:rgba(255,255,255,.10);stroke-width:10;stroke-linecap:round}.ld-gauge .g-fill{fill:none;stroke:url(#gGrad);stroke-width:10;stroke-linecap:round;filter:drop-shadow(0 0 8px var(--ps-tech-accent-glow));transition:stroke-dashoffset .12s linear}.ld-gauge .g-tick{stroke:rgba(255,255,255,.30);stroke-width:2}.ld-gauge .g-num{fill:rgba(255,255,255,.5);font-family:ui-monospace,"SF Mono",Consolas,"Courier New",monospace;font-size:11px;font-weight:600;text-anchor:middle;dominant-baseline:middle}#ldNeedle{background:linear-gradient(var(--ps-tech-accent),#ff6b6b)}.g-grad-start{stop-color:var(--ps-tech-accent)}.g-grad-end{stop-color:#ff3b3b}.ld-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--ps-tech-accent),var(--ps-tech-gold))}@media(width < 577px){.ld-gauge .g-num{font-size:9px}}.is-hidden{display:none}.nav.scrolled{background:rgba(12,12,12,.88);box-shadow:0 14px 40px -18px rgba(0,0,0,.8)}.form-done.show{display:block;animation:popIn .55s cubic-bezier(.19,1,.22,1)}@keyframes popIn{from{opacity:0;transform:translateY(20px)}to{opacity:1}}.service-card.reveal{opacity:0;translate:0}.service-card.reveal.in{animation:svcIn .8s cubic-bezier(.22,.61,.36,1) var(--d,0s) both}.service-card.reveal.in.anim-done{animation:none;opacity:1}@keyframes svcIn{from{opacity:0;transform:translateY(30px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}.team-photo::after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(to top,rgba(10,10,10,.92) 0,rgba(10,10,10,.35) 42%,transparent 72%);transition:opacity .6s ease}.team-card:hover .team-photo::after{opacity:1}.team-card:hover .team-photo img{transform:scale(1.12);filter:grayscale(0) contrast(1.02)}.team-card:hover .team-overlay{opacity:1;transform:translateY(0)}.service-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--ps-tech-accent),var(--ps-tech-gold));transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.4,0,.2,1)}.service-card:hover::before{transform:scaleX(1)}.service-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px at var(--mx,50%) var(--my,50%),rgba(230,57,70,.13),transparent 62%);opacity:0;transition:opacity .35s;pointer-events:none}.service-card:hover::after{opacity:1}.service-card:hover .service-card-icon{background:var(--ps-tech-accent);color:var(--ps-tech-white);box-shadow:0 8px 26px rgba(230,57,70,.4);transform:rotate(-8deg) scale(1.07)}.ps-card-media{pointer-events:none}.ps-card-media img:only-child{flex-basis:100%;width:100%}a.contact-item:hover .contact-icon-wrap{background:var(--ps-tech-accent);color:var(--ps-tech-white);box-shadow:0 0 24px var(--ps-tech-accent-glow);transform:scale(1.06)}a.contact-item:hover .ci-text span{color:var(--ps-tech-accent)}a.contact-item:hover .ci-go{opacity:1;color:var(--ps-tech-accent);transform:translateX(5px)}.consent input{accent-color:var(--ps-tech-accent);width:16px;height:16px;margin-top:3px;flex-shrink:0}.f-err--block{display:block;min-height:0;margin-top:2px;font-size:.68rem;line-height:1.5;letter-spacing:.06em}.map-embed>div{width:100%;height:100%}.map-embed iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(1) invert(.9) contrast(.88)}.btn-send:hover i{transform:translateX(6px)}.about-visual{background:radial-gradient(80% 80% at 70% 20%,rgba(230,57,70,.07),transparent 60%),var(--ps-tech-background-tertiary)}.about-visual .au-img{display:none}.about-visual.has-img .au-img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.95);transition:filter .35s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.about-visual:hover.has-img .au-img{transform:scale(1.03);filter:saturate(1.12)}.about-visual.has-img .about-visual-inner{display:none}.gallery-slide::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.28))}.gallery-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;cursor:pointer;background:rgba(255,255,255,.4);transition:background .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),width .2s cubic-bezier(.4,0,.2,1)}.gallery-dot:hover{background:rgba(255,255,255,.7)}.gallery-dot.active{background:var(--ps-tech-accent);width:26px;border-radius:6px}.legal-btn:hover i{color:var(--ps-tech-white)}.legal-btn:hover i.go{transform:translateX(5px)}.foot-logo-link:hover img{transform:translateY(-4px) scale(1.05) rotate(-3deg);filter:drop-shadow(0 10px 26px var(--ps-tech-accent-glow))}.foot-logo:hover{transform:scale(1.05) rotate(-2deg);filter:drop-shadow(0 12px 30px var(--ps-tech-accent-glow))}.cookie-banner{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:6000;width:min(920px,calc(100% - 32px));padding:20px 24px;border:1px solid var(--ps-tech-border);border-radius:16px;background:rgba(12,12,12,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 40px rgba(0,0,0,.6);transition:opacity .35s cubic-bezier(.4,0,.2,1),transform .35s cubic-bezier(.4,0,.2,1)}.cookie-banner--hidden{opacity:0;transform:translateX(-50%) translateY(12px);pointer-events:none}.cookie-banner__inner{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.cookie-banner__text{flex:1 1 420px;font-size:.87rem;line-height:1.6;color:var(--ps-tech-text-secondary)}.cookie-banner__text a{color:var(--ps-tech-accent);text-decoration:underline}.cookie-banner__actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-banner__btn{padding:11px 22px;border-radius:50px;font-size:.85rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1)}.cookie-banner__btn--accept{background:var(--ps-tech-accent);color:#fff;box-shadow:0 4px 25px var(--ps-tech-accent-glow)}.cookie-banner__btn--accept:hover{background:var(--ps-tech-accent-hover)}.cookie-banner__btn--decline{border:1px solid var(--ps-tech-border);color:var(--ps-tech-text-secondary)}.cookie-banner__btn--decline:hover{border-color:#555;color:var(--ps-tech-text)}